package tech.novastar.dao;

import tech.novastar.domain.Store;
import java.util.List;

/**
@author lidl
 */
public interface IStore {
    /**
     addStore  新增商品
     @param store 商品对象
     @return boolean 增加是否成功
     */
    boolean addStore(Store store);

    /**
     deleteById 删除商品
     @param id 商品id, 也就是数据库的行ID
     @return boolean 删除是否成功
     */
    boolean deleteById(int id);

    /**
     updateById 更新商品库存数量级
     @param id 商品id, 也就是数据库的行ID
     @param count 新增商品数量
     @return boolean 更新是否成功
     */
    boolean updateById(int id, int count);

    /**
     findByName  通过商品名称查询
     @param name 商品名称
     @return Store 0个或多个商品对象
     */
    List<Store> findByName(String name);

    /**
     findByName  通过商品名称精确查询,避免重复添加商品
     @param name 商品名称
     @return Store 0个或一个商品对象
     */
    boolean findByNameStrict(String name);

    /**
     findById  通过商品名称查询
     @param id 商品id, 数据库的行ID
     @return Store 一个商品对象
     */
    Store findById(int id);

    /**
     fetchAllStore  列出所有商品
     @return ArrayList<Store>
     */
    List<Store> fetchAllStore();
}
